package com.edu.zm;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class Dbconnect {
	public static Connection getConn() {

		Connection conn = null;
		try {
			// 加载数据库连接驱动
			Class.forName("oracle.jdbc.OracleDriver");
			// 建立数据库的连接对象
			conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "hr", "hr");	
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return conn;
	}
	/**
	 * @param clazz
	 * @return 返回一个该类类型的实例对象
	 */
	public static <T> T simplePlant(Class<T> clazz) {
		T t=null; 
		try {
			t=clazz.newInstance();
			
		} catch (InstantiationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return t;
	}
	/**
	 * @param obj
	 * @param strType
	 * @return返回由jdbc的数据类型转为java类型
	 */
	public static Object changeProType(Object obj, String strType) {
		// 返回值类型
				Object obj_re = null;
				if (obj != null) {
					// 将不能映射为java基本类型的JDBC数据类型转为与之对应的java类型
					// 类型转换
					switch (strType.trim()) {
					case "java.lang.Long":
						obj_re = Long.parseLong(obj.toString());
						break;
					case "java.lang.Double":
						obj_re = Double.parseDouble(obj.toString());
						break;
					// ... 追加补充其他类型的转换

					// 不需要进行转换的数据类型直接返回即可
					default:
						obj_re = obj;
					}
				}
				// 返回值
				return obj_re;
	}
}
